-- @Author: baidwwy
-- @Date:   2018-04-17 20:53:39
-- @Last Modified by:   Administrator
-- @Last Modified time: 2018-07-05 00:33:10
package.loaded['luahp.agent'] = require("gge_hpagent")
local base = require("hp/PackAgent")
local GGELUA = class(base)
local _pos = {}
function GGELUA:初始化(t)
    self._title     = t or ''
    引擎.输出("----------------------------------------------------------------------------\n")
    引擎.输出(string.format("%-58s[", string.format("PackAgent->创建%s", self._title)),false,true)
    引擎.输出("成功",__颜色.绿色);引擎.输出("]\n")
end
function GGELUA:启动(ip,async)
    引擎.输出("----------------------------------------------------------------------------\n")
    引擎.输出(string.format("%-58s[", string.format('PackAgent->启动%s->"%s"', self._title,ip)),false,true)
    if not self[base]:启动(ip,async) then
        引擎.输出("失败",__颜色.红色);引擎.输出("]\7\n")
        return false
    end
    引擎.输出("成功",__颜色.绿色)引擎.输出("]\n")
    return true
end
function GGELUA:连接(ip,port,t)
    引擎.输出("----------------------------------------------------------------------------\n")
    引擎.输出(string.format("%-58s[", string.format('PackAgent->连接%s->"%s:%s"', t or self._title,ip,port)),false,true)
    _pos[ip..port] = 引擎.取坐标()
    引擎.输出("连接",__颜色.黄色);引擎.输出("]\n")
    if not self[base]:连接(ip,port) then
        引擎.输出("失败",__颜色.红色,false,_pos[ip..port]);引擎.输出("\7")
        return false
    end
    return true
end
function GGELUA:OnConnect(id)
    local ip,port = self:取远程地址信息(id)
    引擎.输出("成功",__颜色.绿色,false,_pos[ip..port])
    self[base]:OnConnect(id,ip,port)
end

function GGELUA:OnClose(id,so,ec)
    local ip,port = self:取远程地址信息(id)
    if so == 2 and ec == 10061 then--异步连接
        引擎.输出("失败",__颜色.红色,false,_pos[ip..port]);引擎.输出("\7")
    end
    self[base]:OnClose(id,so,ec,ip,port)
end
return GGELUA